1 <p>These should all get escaped:</p> 2 3 <p>Backslash: \</p> 4 5 <p>Backtick: `</p> 6 7 <p>Asterisk: *</p> 8 9 <p>Underscore: _</p> 10 11 <p>Left brace: {</p> 12 13 <p>Right brace: }</p> 14 15 <p>Left bracket: [</p> 16 17 <p>Right bracket: ]</p> 18 19 <p>Left paren: (</p> 20 21 <p>Right paren: )</p> 22 23 <p>Greater-than: ></p> 24 25 <p>Hash: #</p> 26 27 <p>Period: .</p> 28 29 <p>Bang: !</p> 30 31 <p>Plus: +</p> 32 33 <p>Minus: -</p> 34 35 <p>These should not, because they occur within a code block:</p> 36 37 <pre><code>Backslash: \\ 38 39 Backtick: \` 40 41 Asterisk: \* 42 43 Underscore: \_ 44 45 Left brace: \{ 46 47 Right brace: \} 48 49 Left bracket: \[ 50 51 Right bracket: \] 52 53 Left paren: \( 54 55 Right paren: \) 56 57 Greater-than: \> 58 59 Hash: \# 60 61 Period: \. 62 63 Bang: \! 64 65 Plus: \+ 66 67 Minus: \- 68 </code></pre> 69 70 <p>Nor should these, which occur in code spans:</p> 71 72 <p>Backslash: <code>\\</code></p> 73 74 <p>Backtick: <code>\`</code></p> 75 76 <p>Asterisk: <code>\*</code></p> 77 78 <p>Underscore: <code>\_</code></p> 79 80 <p>Left brace: <code>\{</code></p> 81 82 <p>Right brace: <code>\}</code></p> 83 84 <p>Left bracket: <code>\[</code></p> 85 86 <p>Right bracket: <code>\]</code></p> 87 88 <p>Left paren: <code>\(</code></p> 89 90 <p>Right paren: <code>\)</code></p> 91 92 <p>Greater-than: <code>\></code></p> 93 94 <p>Hash: <code>\#</code></p> 95 96 <p>Period: <code>\.</code></p> 97 98 <p>Bang: <code>\!</code></p> 99 100 <p>Plus: <code>\+</code></p> 101 102 <p>Minus: <code>\-</code></p> 103 104 105 <p>These should get escaped, even though they're matching pairs for 106 other Markdown constructs:</p> 107 108 <p>*asterisks*</p> 109 110 <p>_underscores_</p> 111 112 <p>`backticks`</p> 113 114 <p>This is a code span with a literal backslash-backtick sequence: <code>\`</code></p> 115 116 <p>This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.</p> 117 118 <p>This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.</p> 119